| API Documentation |  |

- MAIN PAGE
- NAMESPACES
- CLASSES

Public Member Functions | List of all members
nkGraphics::ProgramSourcesHolder Class Referencefinal

Holds the sources of a program. More...

## Public Member Functions
nkMemory::StringView | getVertexMemory () const
nkMemory::StringView | getHullMemory () const
nkMemory::StringView | getDomainMemory () const
nkMemory::StringView | getGeometryMemory () const
nkMemory::StringView | getPixelMemory () const
nkMemory::StringView | getComputeMemory () const
nkMemory::StringView | getRaytracingMemory () const
const nkMemory::BufferCast< MacroEntry > & | getDefineMacrosVertex () const
const nkMemory::BufferCast< MacroEntry > & | getDefineMacrosHull () const
const nkMemory::BufferCast< MacroEntry > & | getDefineMacrosDomain () const
const nkMemory::BufferCast< MacroEntry > & | getDefineMacrosGeometry () const
const nkMemory::BufferCast< MacroEntry > & | getDefineMacrosPixel () const
const nkMemory::BufferCast< MacroEntry > & | getDefineMacrosCompute () const
const nkMemory::BufferCast< MacroEntry > & | getDefineMacrosRaytracing () const
unsigned int | getDefineMacroMaxNumber () const
unsigned int | getDefineMacroMaxNumberPipeline () const
unsigned int | getDefineMacroNumberCompute () const
unsigned int | getDefineMacroNumberRaytracing () const
void | setVertexMemory (nkMemory::StringView str)
void | setHullMemory (nkMemory::StringView str)
void | setDomainMemory (nkMemory::StringView str)
void | setGeometryMemory (nkMemory::StringView str)
void | setPixelMemory (nkMemory::StringView str)
void | setComputeMemory (nkMemory::StringView str)
void | setRaytracingMemory (nkMemory::StringView str)
void | addDefineMacroVertex (nkMemory::StringView key, nkMemory::StringView value)
void | addDefineMacroHull (nkMemory::StringView key, nkMemory::StringView value)
void | addDefineMacroDomain (nkMemory::StringView key, nkMemory::StringView value)
void | addDefineMacroGeometry (nkMemory::StringView key, nkMemory::StringView value)
void | addDefineMacroPixel (nkMemory::StringView key, nkMemory::StringView value)
void | addDefineMacroCompute (nkMemory::StringView key, nkMemory::StringView value)
void | addDefineMacroRaytracing (nkMemory::StringView key, nkMemory::StringView value)
bool | hasMinimalDefinitionsPipeline () const
bool | hasMinimalDefinitionsCompute () const
bool | hasMinimalDefinitionsGeometry () const
bool | hasMinimalDefinitionsRaytracing () const
void | copyDefinesFrom (const ProgramSourcesHolder &other)

## Detailed Description

Holds the sources of a program.

## Member Function Documentation

## ◆ getVertexMemory()

nkMemory::StringView nkGraphics::ProgramSourcesHolder::getVertexMemory | ( |  | ) | const

Returns
  The set vertex stage.

## ◆ getHullMemory()

nkMemory::StringView nkGraphics::ProgramSourcesHolder::getHullMemory | ( |  | ) | const

Returns
  The set hull stage.

## ◆ getDomainMemory()

nkMemory::StringView nkGraphics::ProgramSourcesHolder::getDomainMemory | ( |  | ) | const

Returns
  The set domain stage.

## ◆ getGeometryMemory()

nkMemory::StringView nkGraphics::ProgramSourcesHolder::getGeometryMemory | ( |  | ) | const

Returns
  The set geometry stage.

## ◆ getPixelMemory()

nkMemory::StringView nkGraphics::ProgramSourcesHolder::getPixelMemory | ( |  | ) | const

Returns
  The set pixel stage.

## ◆ getComputeMemory()

nkMemory::StringView nkGraphics::ProgramSourcesHolder::getComputeMemory | ( |  | ) | const

Returns
  The set compute stage.

## ◆ getRaytracingMemory()

nkMemory::StringView nkGraphics::ProgramSourcesHolder::getRaytracingMemory | ( |  | ) | const

Returns
  The set raytracing stage.

## ◆ getDefineMacrosVertex()

const nkMemory::BufferCast<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosVertex | ( |  | ) | const

Returns
  The define macros set for the vertex stage.

## ◆ getDefineMacrosHull()

const nkMemory::BufferCast<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosHull | ( |  | ) | const

Returns
  The define macros set for the hull stage.

## ◆ getDefineMacrosDomain()

const nkMemory::BufferCast<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosDomain | ( |  | ) | const

Returns
  The define macros set for the domain stage.

## ◆ getDefineMacrosGeometry()

const nkMemory::BufferCast<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosGeometry | ( |  | ) | const

Returns
  The define macros set for the geometry stage.

## ◆ getDefineMacrosPixel()

const nkMemory::BufferCast<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosPixel | ( |  | ) | const

Returns
  The define macros set for the pixel stage.

## ◆ getDefineMacrosCompute()

const nkMemory::BufferCast<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosCompute | ( |  | ) | const

Returns
  The define macros set for the compute stage.

## ◆ getDefineMacrosRaytracing()

const nkMemory::BufferCast<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosRaytracing | ( |  | ) | const

Returns
  The define macros set for the raytracing stage.

## ◆ getDefineMacroMaxNumber()

unsigned int nkGraphics::ProgramSourcesHolder::getDefineMacroMaxNumber | ( |  | ) | const

Returns
  The maximum number of define macros set accross all stages.

## ◆ getDefineMacroMaxNumberPipeline()

unsigned int nkGraphics::ProgramSourcesHolder::getDefineMacroMaxNumberPipeline | ( |  | ) | const

Returns
  The maximum number of define macros set accross all relevant stages for a pipeline program.

## ◆ getDefineMacroNumberCompute()

unsigned int nkGraphics::ProgramSourcesHolder::getDefineMacroNumberCompute | ( |  | ) | const

Returns
  The maximum number of define macros set accross all relevant stages for a compute program.

## ◆ getDefineMacroNumberRaytracing()

unsigned int nkGraphics::ProgramSourcesHolder::getDefineMacroNumberRaytracing | ( |  | ) | const

Returns
  The maximum number of define macros set accross all relevant stages for a raytracing program.

## ◆ setVertexMemory()

void nkGraphics::ProgramSourcesHolder::setVertexMemory | ( | nkMemory::StringView | str | ) |

Parameters

  str | The sources for the vertex stage.

## ◆ setHullMemory()

void nkGraphics::ProgramSourcesHolder::setHullMemory | ( | nkMemory::StringView | str | ) |

Parameters

  str | The sources for the hull stage.

## ◆ setDomainMemory()

void nkGraphics::ProgramSourcesHolder::setDomainMemory | ( | nkMemory::StringView | str | ) |

Parameters

  str | The sources for the domain stage.

## ◆ setGeometryMemory()

void nkGraphics::ProgramSourcesHolder::setGeometryMemory | ( | nkMemory::StringView | str | ) |

Parameters

  str | The sources for the geometry stage.

## ◆ setPixelMemory()

void nkGraphics::ProgramSourcesHolder::setPixelMemory | ( | nkMemory::StringView | str | ) |

Parameters

  str | The sources for the pixel stage.

## ◆ setComputeMemory()

void nkGraphics::ProgramSourcesHolder::setComputeMemory | ( | nkMemory::StringView | str | ) |

Parameters

  str | The sources for the compute stage.

## ◆ setRaytracingMemory()

void nkGraphics::ProgramSourcesHolder::setRaytracingMemory | ( | nkMemory::StringView | str | ) |

Parameters

  str | The sources for the raytracing stage.

## ◆ addDefineMacroVertex()

void nkGraphics::ProgramSourcesHolder::addDefineMacroVertex | ( | nkMemory::StringView | key,
|  | nkMemory::StringView | value
| ) |  |

Adds a define macro for the vertex stage.

Parameters

  key | The key of the define.
  value | The value of the define.

## ◆ addDefineMacroHull()

void nkGraphics::ProgramSourcesHolder::addDefineMacroHull | ( | nkMemory::StringView | key,
|  | nkMemory::StringView | value
| ) |  |

Adds a define macro for the hull stage.

Parameters

  key | The key of the define.
  value | The value of the define.

## ◆ addDefineMacroDomain()

void nkGraphics::ProgramSourcesHolder::addDefineMacroDomain | ( | nkMemory::StringView | key,
|  | nkMemory::StringView | value
| ) |  |

Adds a define macro for the domain stage.

Parameters

  key | The key of the define.
  value | The value of the define.

## ◆ addDefineMacroGeometry()

void nkGraphics::ProgramSourcesHolder::addDefineMacroGeometry | ( | nkMemory::StringView | key,
|  | nkMemory::StringView | value
| ) |  |

Adds a define macro for the geometry stage.

Parameters

  key | The key of the define.
  value | The value of the define.

## ◆ addDefineMacroPixel()

void nkGraphics::ProgramSourcesHolder::addDefineMacroPixel | ( | nkMemory::StringView | key,
|  | nkMemory::StringView | value
| ) |  |

Adds a define macro for the pixel stage.

Parameters

  key | The key of the define.
  value | The value of the define.

## ◆ addDefineMacroCompute()

void nkGraphics::ProgramSourcesHolder::addDefineMacroCompute | ( | nkMemory::StringView | key,
|  | nkMemory::StringView | value
| ) |  |

Adds a define macro for the compute stage.

Parameters

  key | The key of the define.
  value | The value of the define.

## ◆ addDefineMacroRaytracing()

void nkGraphics::ProgramSourcesHolder::addDefineMacroRaytracing | ( | nkMemory::StringView | key,
|  | nkMemory::StringView | value
| ) |  |

Adds a define macro for the raytracing stage.

Parameters

  key | The key of the define.
  value | The value of the define.

## ◆ hasMinimalDefinitionsPipeline()

bool nkGraphics::ProgramSourcesHolder::hasMinimalDefinitionsPipeline | ( |  | ) | const

Returns
  If the sources set fit for a pipeline program (used for rendering scenes or post processing). This kind of program expects at least a vertex and pixel stage.

## ◆ hasMinimalDefinitionsCompute()

bool nkGraphics::ProgramSourcesHolder::hasMinimalDefinitionsCompute | ( |  | ) | const

Returns
  If the sources set fit for a compute program. This kind of program expects at least a compute stage.

## ◆ hasMinimalDefinitionsGeometry()

bool nkGraphics::ProgramSourcesHolder::hasMinimalDefinitionsGeometry | ( |  | ) | const

Returns
  If the sources set fit for a geometry stream program. This kind of program expects at least a vertex and geometry stage.

## ◆ hasMinimalDefinitionsRaytracing()

bool nkGraphics::ProgramSourcesHolder::hasMinimalDefinitionsRaytracing | ( |  | ) | const

Returns
  If the sources set fit for a raytracing program. This kind of program expects at least a raytracing stage.

## ◆ copyDefinesFrom()

void nkGraphics::ProgramSourcesHolder::copyDefinesFrom | ( | const ProgramSourcesHolder & | other | ) |

Copies the defines from one memory to another.

Parameters

  other | The memory from which the defines should be copied.

The documentation for this class was generated from the following file:

- Documentation/Headers/NilkinsGraphics/Programs/ProgramSourcesHolder.h